$(document).ready(function() {
    var table = $('#dataTables-l1category').DataTable({
            responsive : true,
            "sAjaxSource": "users/getAll",//这个是请求的地址
            "fnServerData": retrieveData // 获取数据的处理函数
    });
    function retrieveData( sSource,aoData, fnCallback) {
        $.ajax({
            url : sSource,//这个就是请求地址对应sAjaxSource
            data : {"aoData":JSON.stringify(aoData)},//这个是把datatable的一些基本数据传给后台,比如起始位置,每页显示的行数
            type : 'post',
            dataType : 'json',
            async : false,
            success : function(result) {
                fnCallback(result);//把返回的数据传给这个方法就可以了,datatable会自动绑定数据的
            },
            error : function(msg) {
            }
        });
    }
    
    $("#addRow").on('click', function() {
        $("#ModalLabel").text("添加用户");

        $("#username").val("");
        $("#nickname").val("");
        $("#password").val("");
        $("#weixin").val("");
        
        $("#Modal").modal('show');
        
        $("#submit-hint").on('click', function() {
            $.ajax({
                url : "users",
                dataType : "json",
                data : {
                    "username" : $("#username").val(),
                    "nickname" : $("#nickname").val(),
                    "password" : $("#password").val(),
                    "weixin"   : $("#weixin").val()
                },
                type : "POST",
                success : function(data) {
                    table.ajax.reload();
                    $("#Modal").modal('hide');                       
                },
                error : function() {
                }
            })
        })
    })
    
    $("#delRow").on('click', function() {
        if ($('.selected').length == 0) {
            alert("A row must be chosen!");
            return;
        }
        
        $("#ModalLabel").text("删除用户");
        
        $("#username").val($('.selected').children(':eq(0)').text());
        $("#nickname").val($('.selected').children(':eq(1)').text());
        $("#weixin").val($('.selected').children(':eq(2)').text());
        
        $("#username").attr("disabled", "");
        $("#nickname").attr("disabled", "");
        $("#weixin").attr("disabled", "");
        
        $("#Modal").modal('show');
        
        $("#submit-hint").on('click', function() {
            $.ajax({
                url : "users/delete",
                dataType : "json",
                data : {
                    "username" : $("#username").val()
                },
                type : "POST",
                success : function(data) {
                    table.ajax.reload();
                    $("#Modal").modal('hide'); 
                },
                error : function() {
                }
            })
        })
    })

    $(function() { $('#Modal').on('hide.bs.modal', function() {
        $("#username").removeAttr("disabled");
        $("#nickname").removeAttr("disabled");
        $("#password").removeAttr("disabled");
        $("#weixin").removeAttr("disabled"); 
        $("#submit-hint").off('click');
        }) 
    });
    
    
    $('#dataTables-l1category tbody').on('click', 'tr', function() {
        if ($(this).hasClass('selected')) {
            $(this).removeClass('selected');
        } else {
            table.$('tr.selected').removeClass('selected');
            $(this).addClass('selected');
        }
    });
});
